Programmare un Robot con Pick&Place
Vedi il Robotics_PickAndPlace.project
e Robotics_PickAndPlace_without_Depictor.project
progetti di esempio nella directory di installazione di CODESYS sotto ..\CODESYS SoftMotion\Examples
.
Il Robotics_PickAndPlace.project
progetto richiede il CODESYS Depictor Pacchetto Depictor da installare. Questo progetto mostra la cinematica in un'animazione 3D. Il progetto Robotics_PickAndPlace_without_Depictor.project
mostra una forma semplificata della sequenza in una schermata di visualizzazione.
Questo capitolo tratta solo gli oggetti che sono rilevanti per SoftMotion.
L'esempio è costituito da un treppiede, una tavola rotante e un trasportatore. La cinematica preleva un anello che si trova sulla tavola rotante. Durante il prelievo, la piastra portautensili della cinematica si muove in sincronia con la tavola rotante. Quindi l'anello viene posizionato su un cono che si trova su un nastro trasportatore. Durante il posizionamento, la cinematica si muove in sincronia con il nastro trasportatore. Sulla schermata di visualizzazione sono presenti due pulsanti per il controllo della sequenza. Quando premi il Auto pulsante, gli squilli vengono impostati automaticamente. In caso contrario, il Giocare a viene visualizzato il pulsante per posizionare l'anello. | ![]() |
Struttura del progetto
CODESYS SoftMotion Controllore
Gruppo di assi Treppiedi: Il gruppo assi definisce la cinematica e la mappatura sui singoli assi Treppiede1, Treppiede2, e Treppiede3.
DepictorCalcoli (PRG), Ambiente (PRG), Anello (FB): Programmi per il controllo dell'intera sequenza e visualizzazione. Queste POU non sono rilevanti per la comprensione dei blocchi PLCopen, ad eccezione della definizione del sistema di coordinate del prodotto (PCS_1 e PCS_2).
Robot (PRG): Programma per il controllo delle sequenze di movimento. Una descrizione dettagliata si trova nel paragrafo successivo.
Visualizzazione: Visualizzazione animata per chiarire la sequenza.
Treppiede1, Treppiede2, Tripode3: assi lineari del treppiede.
DriveRotaryTable: Asse per la tavola rotante.
DriveNastro trasportatore: Asse per il nastro trasportatore.
Struttura del programma di sequenza Robot (PRG)
Il Robot (PRG)
il programma viene eseguito in cicli. A questo punto, i singoli passaggi vengono eseguiti a seconda del state
. Alla fine di un programma, i richiami di tutti i blocchi funzione utilizzati sono pronti per il comando di movimento.
Vengono attivati i singoli assi del treppiede (blocchi funzione
pwA1
,pwA2
, epwA3
di tipoMC_Power
).CASE 0
: Attendere che gli assi partecipanti siano operativi.CASE 10
: Imposta le posizioni di riferimento; nelle applicazioni fisiche, l'homing viene eseguito in questa posizione (blocchi funzionespA1
,spA2
, espA3
di tipoMC_SetPosition
).CASE 20
: Posizionamento del sistema di coordinate macchina nel sistema di coordinate globali (blocco funzionesetCoord
di tipoMC_SetCoordinateTransform
).CASE 30
: Rilascio del gruppo di assi (blocco funzioneenable
di tipoMC_GroupEnable
.Attendi una risposta che il gruppo di assi abbia applicato tutti i valori.
CASE 40
aCASE 130
: Applicazione Pick&Place: Tutti i movimenti sono comandati possibilmente con più istanzeMC_MoveDirectAbsolute
,MC_MoveDirectRelative
, eMC_MoveLinear
che sono chiamati in cicli. Un fronte in salita alExecute
l'ingresso di queste POU in ogni stato porta all'emissione di un nuovo comando di movimento in cui l'uscitabCommandAccepted
indica il successo del processo. Una tipica catena di comandi risulta dall'interrogazione di questa uscita prima del successivo comando di movimento.
Blocchi funzione MC_TrackConveyorBelt e MC_TrackRotaryTable
Il blocco funzione MC_TrackRotaryTable
, che si trova nel modulo funzione Ring
viene chiamato, viene utilizzato per determinare il sistema di coordinate della parte PCS_1
. Questo sistema di coordinate viene impostato non appena un anello viene posizionato sulla tavola rotante.
L'origine del sistema di coordinate della tavola rotante RotaryTableOrigin
è il punto medio della tavola rotante. L'asse Z è l'asse rotante della tavola rotante. Il PCS_1 viene ruotato attorno all'asse Z del sistema di coordinate della tavola rotante in funzione della variabile di ingresso RotaryTable
. Poiché il gruppo di assi si sposta in PCS_1, segue la rotazione della tabella.
Con il blocco funzione MC_TrackConveyorBelt
, che si trova nel modulo funzione Cone
si chiama, il comportamento è analogo. Il PC (PCS_2
) segue l'asse X del sistema di coordinate ConveyorBeltOrigin
.